import os
import sys

#递归遍历当前目录下的所有文件夹 和文件 并通过filter 筛选出扫描到的文件路径
def walk_dir(path,filter:list=None) :
    ret=[]
    for root, dirs, files in os.walk(path):
        # for dir in dirs:
        #     # print(os.path.join(root, dir))
        #     ret.extend(walk_dir(os.path.join(root, dir),filter))
        for file in files:
            #通过filter 筛选出扫描到的文件路径
            # print(os.path.join(root, file))
            if file in filter:
                print("find add",path)
                ret.append(os.path.join(root, file))
    return ret

# 调用walk_dir 函数 扫描当前目录下的所有文件
pys= walk_dir(".\\",['bat_build.bat'])
#获取当前路径
cur_path = os.getcwd()
#打印扫描到的pys 文件
print(pys)
#遍历找到的pys 文件 并执行
for py in pys:
    #获取等待执行的文件名
    fileName= os.path.basename(py)
    #获取文件所在的路径
    rel_path = os.path.dirname(py)
    #打印路径信息
    print("execute",rel_path)
    #切换到文件所在的路径
    os.chdir(rel_path)
    #执行文件
    os.system(fileName)
    #切换回当前脚本所在的路径
    os.chdir(cur_path)
    pass
